// function ajax(opts){
//     var url = opts.url;                        //请求的url
//     var type = opts.type || 'GET';            //要发送的请求类型，如果用户没有设置的话那么默认为"GET"
//     var dataType = opts.dataType || 'JSON';  //返回的数据类型，即用户接收的数据类型
//     var async = opts.async || 'true';       //是否异步发送请求，默认为异步
//     var onsuccess = opts.onsuccess || function(){};   //请求成功后执行的函数
//     var onerror = opts.onerror || function(){};      //请求失败后执行的函数
//     var data = opts.data || {};                     //用户传入的数据
//     //把用户传入的参数序列化，拼装成url的字符串
//     var dataStr = [];
//     for(var key in data){
//         console.log(data[key]);
//         dataStr.push(key + '=' + data[key]);
//     }
//     dataStr = dataStr.join('&');
//     //如果发送的是get请求，那么将请求的url拼装成（url?key=value）格式
//     if(type === 'GET'){
//         url += '?' + dataStr;
//     }
//     //创建一个ajax对象
//     var xhr = new XMLHttpRequest();
//     xhr.open(opts.type, url, async);    //设置参数
//     if(type === "POST") {
//         xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//     }
//     xhr.onload = function(){              //监听数据状态并接收后台响应
//         if((xhr.status >= 200 && xhr.status <= 300) || xhr.status == 304){
//             //成功了，可以得到数据了
//             if(dataType === 'JSON'){    //如果用户设置的需要返回的数据类型是JSON格式，那么把xhr对象返回的数据解析成JSON格式的字符串(因为后台给你返回的数据都是string类型)
//                 onsuccess(JSON.parse(xhr.responseText));
//             }else{
//                 onsuccess(xhr.responseText);
//             }
//         }else{
//             //失败了
//             onerror();
//         }
//     }
//     xhr.onerror = onerror;    //用户请求失败
//     //If...else判断opts.type类型并根据这个类型发送数据
//     if(type === 'POST'){
//         xhr.send(dataStr);
//     }else{
//         xhr.send();
//     }
// }


/** 
**  封装ajax函数
**  type    选择方式 GET  POST
**  url     接口   http://localhost/nic/xiaowangguanhoutai/api.php
**  data    数据
**/
function ajax(opts) {
    var url = opts.url;                              // 接口请求地址
    var type = opts.type || "GET";                   // 送的请求类型，如果用户没有设置的话那么默认为"GET"
    var data = opts.data;                            // 请求携带的数据
    var dataType = opts.dataType || "JSON";          // 返回的数据类型，即用户接收的数据类型
    var onsuccess = opts.onsuccess || function(){};  // 请求成功后执行的函数
    var onerror = opts.onerror || function(){};      // 请求失败后执行的函数
    var request = new XMLHttpRequest();
    
    request.open(type, url);

    if(type == "POST") {
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    }
    if(type == "POST") {
        request.send(data);
    } else {
        request.send();
    }

    request.onload = function() {
        if(request.readyState == 4 && request.status == 200) {
            // 成功了
            if(dataType === 'JSON'){    //如果用户设置的需要返回的数据类型是JSON格式，那么把xhr对象返回的数据解析成JSON格式的字符串(因为后台给你返回的数据都是string类型)
                onsuccess(JSON.parse(request.responseText));
            }else{
                onsuccess(request.responseText);
            }
        }else{
            //失败了
            onerror(request.status);
        }
    }
}